#include <iostream>
using namespace std;

void func(int* p, int n);

int main() {

    int arr[6] = { 0 };
    for (int i = 0; i < 6; i++) {
        cin >> arr[i];
    }

    func(arr, 6);

    for (int i = 0; i < 6; i++) {
        if (i == 5) {
            cout << arr[i] << endl;
        }
        else {
            cout << arr[i] << " ";
        }
    }

    return 0;
}

void func(int* p, int n) {

    // write your code here......
    //类似于直接插入排序
    for(int i = 0; i < n - 1; i++){
        int end = i;
        int temp = p[end + 1];
        while(end >= 0){
            if(p[end] == 0){
                p[end + 1] = p[end];
                end -= 1;
            }
            else{
                break;
            }
        }
        p[end + 1] = temp;
    }
}

/*有一个数组 int arr[n]，要求写一个函数：void func(int *p, int n);将数组 arr 中为 0 的元素都移至数组末尾，将非 0 的元素移至开始（保持原来的顺序不变）。
例如：
数组中元素原来是：1 0 3 4 0 -3 5
经过 func 处理后：1 3 4 -3 5 0 0*/